Stack Overflow

-R-E- DXL: <Line:64> Stack Overflow (current limit is 16384)
-I- DXL: execution halted

I am currently running a scrip which runs in a folder. But if the folder has more 70 modules, I get the above run time error.

Is there a way to increase the stack size?

anil.
SystemAdmin - Thu Jul 09 06:42:46 EDT 2009

Re: Stack Overflow
SystemAdmin - Thu Jul 09 06:58:55 EDT 2009

DXL Help hasd information on this:

Pragmas
Pragmas modify the background behavior of the DXL interpreter, for example:

pragma runLim, int cyc
sets the time-out interval cyc as a number of DXL execution cycles. The time-out is suppressed if cyc is set to zero, as shown in the following example:

pragma runLim, 0 // no limit
pragma runLim, 1000000 // explicit limit
There is also a pragma for setting the size of the DXL run-time stack, which is used as follows:

pragma stack, 10000

Re: Stack Overflow
SystemAdmin - Thu Jul 09 18:48:31 EDT 2009

SystemAdmin - Thu Jul 09 06:58:55 EDT 2009
DXL Help hasd information on this:

Pragmas
Pragmas modify the background behavior of the DXL interpreter, for example:

pragma runLim, int cyc
sets the time-out interval cyc as a number of DXL execution cycles. The time-out is suppressed if cyc is set to zero, as shown in the following example:

pragma runLim, 0 // no limit
pragma runLim, 1000000 // explicit limit
There is also a pragma for setting the size of the DXL run-time stack, which is used as follows:

pragma stack, 10000

Can I interpret that the runLim pragma is essentially just a watchdog tool to help elegantly break out of DXL code that may have got itself stuck in an infinite loop?


Paul Miller

Re: Stack Overflow
SystemAdmin - Fri Jul 10 01:02:16 EDT 2009

SystemAdmin - Thu Jul 09 18:48:31 EDT 2009
Can I interpret that the runLim pragma is essentially just a watchdog tool to help elegantly break out of DXL code that may have got itself stuck in an infinite loop?


Paul Miller

In a way, yes. Typically during development I do not have runLim set in any way, then DOORS will ask for confirmation if some script is running for too long.